package com.itheima.fileIO;

import java.io.File;
import java.util.HashMap;

public class fileDemo03 {
    public static void main(String[] args) {
        File file=new File("FileIO");
        HashMap<String,Integer> hm=new HashMap<>();
        getCount(hm,file);//集合，文件
        System.out.println(hm);
    }

    private static void getCount(HashMap<String, Integer> hm, File file) {
        File[] files = file.listFiles();//进入，得到里面的文件、文件夹
        for (File f : files) {//遍历
            if (f.isFile()){    //判断是不是文件
                String filename=f.getName();//获取文件名
                String[] fileNameArr=filename.split("\\.");//分割文件名和其后缀
                if (fileNameArr.length==2){             //判断是不是标准的文件名（文件名.后缀）
                    String fileEndName = fileNameArr[1];//获取文件后缀
                    if (hm.containsKey(fileEndName)){//判断后缀在集合中是否存在
                        Integer count=hm.get(fileEndName);//根据键获取值
                        count++;                        //次数加一
                        hm.put(fileEndName,count);
                    }else{
                        hm.put(fileEndName,1);//这个后缀第一次出现"fileEndName=1"
                    }
                }
            }else{
                getCount(hm,f);//最外层判断，不是文件，是文件夹，递归
            }

        }
    }
}
